Описание
Задает или возвращает значение, содержащее сведения об источнике
открытого подключения, открытой базе данных, базе данных, используемой в запросе
к серверу или присоединенной таблице. Для объектов Database, новых
объектов Connection, присоединенных таблиц и объектов TableDef,
еще не добавленных в семейство, значение данного свойства доступно для
чтения/записи. Для объектов QueryDef и основных таблиц, данное свойство
доступно только для чтения.
объект.Connect = типБазыДанных;параметры;
Параметры
объект
Объектное выражение, значением которого
является один из объектов, перечисленных в списке
"Применение".
типБазыДанных
Необязательный. Выражение типа
String, определяющее тип базы данных. Для баз данных Microsoft Jet
этот аргумент следует исключить; если при этом задается аргумент параметры, то
вместо аргумента типБазыДанных следует подставить точку с запятой
(;).
параметры
Необязательный. Выражение типа String,
определяющее дополнительные параметры, передаваемые драйверу ODBC или
устанавливаемым драйверам ISAM. Отдельные параметры разделяются точкой с
запятой.
Значение
Значением свойства Connect (подключение) является строка,
образуемая из указателя типа базы данных и произвольного числа параметров,
разделяемых точкой с запятой. Свойство Connect используется для передачи
дополнительной информации драйверу ODBC и некоторым устанавливаемым
драйверам ISAM.
Для выполнения запроса к серверу SQL по
таблице, присоединенной к файлу базы данных Microsoft Jet (.mdb),
необходимо сначала задать в свойстве Connect базы данных присоединенной
таблицы допустимую строку подключения ODBC.
Для объекта
TableDef, представляющего присоединенную таблицу, значение свойства
Connect может состоять из одного или двух компонентов (указателя типа
базы данных и пути к базе данных), каждый из которых должен заканчиваться точкой
запятой.
Путь, как показано в следующей таблице, задает полный путь к
каталогу, содержащему файлы базы данных, и должен начинаться с идентификатора
DATABASE=. В некоторых случаях (для Microsoft Excel и баз данных
Microsoft Jet), имя файла необходимо включать в аргумент пути.
В
следующей таблице перечислены допустимые типы баз данных, а также
соответствующие значения указателя базы данных и формат задания пути к базе
данных, которые следует использовать при определении свойства Connect.
Можно также указать адрес «FTP://путь/etc.» или «HTTP://путь/etc».
В рабочей области ODBCDirect можно использовать только идентификатор
"ODBC".
Тип Указатель базы данных Пример
База данных Microsoft Jet [базаДанных]; диск:\путь\имяФайла.mdb
dBASE III dBASE III; диск:\путь
dBASE IV dBASE IV; диск:\путь
dBASE 5 dBASE 5.0; диск:\путь
Paradox 3.x Paradox 3.x; диск:\путь
Paradox 4.x Paradox 4.x; диск:\путь
Paradox 5.x Paradox 5.x; диск:\путь
FoxPro 2.0 FoxPro 2.0; диск:\путь
FoxPro 2.5 FoxPro 2.5; диск:\путь
FoxPro 2.6 FoxPro 2.6; диск:\путь
Excel 3.0 Excel 3.0; диск:\путь\файл.xls
Excel 4.0 Excel 4.0; диск:\путь\файл.xls
Excel 5.0 или Excel 95 Excel 5.0; диск:\путь\файл.xls
Excel 97 Excel 8.0; диск:\путь\файл.xls
HTML Import HTML Import; диск:\путь\файл
HTML Export HTML Export; диск:\путь
Текстовая Text; диск:\путь
ODBC ODBC;
DATABASE=базаДанных;
UID=пользователь;
PWD=пароль;
DSN= имяИсточника;
[LOGINTIMEOUT=секунды;] Не используется
Exchange Exchange;
MAPILEVEL=путьПапки;
[TABLETYPE={ 0 | 1 }];
[PROFILE=профиль;]
[PWD=пароль;]
[DATABASE=базаДанных;] диск:\путь\имяФайла.mdb
Замечания
Если в качестве указателя задать только строку "ODBC;",
то драйвер ODBC выводит на экран диалоговое окно со списком имен всех
зарегистрированных источников данных ODBC, из которых пользователь сможет
выбрать нужную базу данных.
Если для подключения к базе данных требуется
пароль, но он не указан в строке значения свойства Connect, то диалоговое
окно входа будет выводиться на экран при первом обращении к таблице с помощью
драйвера ODBC, а также, если подключение было закрыто и открывается
заново.
Для данных Microsoft Exchange в разделе MAPILEVEL
должен быть задан полный путь к папке (например, "Mailbox - Pat
SmithIAlpha/Today"). Этот путь не включает имя папки, открываемой в виде
таблицы; имя этой папки должно задаваться в аргументе имя метода
CreateTable. В разделе TABLETYPE должно задаваться значение "0"
для открытия папки по умолчанию или значение "1" для открытия адресной книги. В
разделе PROFILE по умолчанию используется текущий профиль.
Для
основных таблиц в базе данных Micorosoft Jet (.mdb) значением
Connect является пустая строка ("").
Значение свойства Connect
объекта Database может быть задано с помощью аргумента источник в методе
OpenDatabase. Проверка значения данного свойства позволяет определить
тип, путь, код пользователя, пароль или источник данных ODBC базы
данных.
Для объекта QueryDef в рабочей области Microsoft Jet
свойство Connect вместе со свойством ReturnsRecords используют для
создания запроса к серверу SQL по протоколу ODBC. Компонент
типБазыДанных в строке подключения имеет вид "ODBC;", а в остальной части
строки содержится информация, необходимая драйверу ODBC для доступа к
данным на удаленном сервере. За более подробным описанием следует обращаться к
документации конкретного драйвера.
Значение свойства Connect
необходимо задавать до значения свойства ReturnsRecords.
Необходимо
иметь разрешения на доступ к компьютеру, на котором находится сервер базы
данных, к которому требуется подключиться.
Пример
В данном примере с помощью свойств Connect и
ReturnsRecords из базы данных на сервере Microsoft SQL Server
отбираются пять книг, имеющих максимальные результаты продаж за год. Если
обнаруживается совпадение в результатах продаж, размер выводящегося списка
увеличивается и выводится сообщение с объяснением причины.
Sub ClientServerX1()
Dim dbsCurrent As Database
Dim qdfPassThrough As QueryDef
Dim qdfLocal As QueryDef
Dim rstTopFive As Recordset
Dim strMessage As String
' Открывает базу данных, для которой будут
' созданы объекты QueryDef.
Set dbsCurrent = OpenDatabase("DB1.mdb")
' Создает запрос к серверу для загрузки данных
' из базы данных Microsoft SQL Server.
Set qdfPassThrough = dbsCurrent.CreateQueryDef("ВсеНазвания")
qdfPassThrough.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers"
qdfPassThrough.SQL = "SELECT * FROM titles " & "ORDER BY ytd_sales DESC"
qdfPassThrough.ReturnsRecords = True
' Создает временный объект QueryDef для загрузки
' данных из запроса к серверу.
Set qdfLocal = dbsCurrent.CreateQueryDef("")
qdfLocal.SQL = "SELECT TOP 5 title FROM ВсеНазвания"
Set rstTopFive = qdfLocal.OpenRecordset()
' Отображает результаты запросов.
With rstTopFive
strMessage = "Первые 5 бестселлеров:" & vbCr
Do While Not .EOF
strMessage = strMessage & " " & !Title & vbCr
.MoveNext
Loop
If .RecordCount gt; 5 Then
strMessage = strMessage & "(В списке " & vbCr & .RecordCount & " книг, так как несколько имеют одинаковые результаты)"
End If
MsgBox strMessage
.Close
End With
' Удаляет новый запрос к серверу, созданный только для
' демонстрации.
dbsCurrent.QueryDefs.Delete "ВсеНазвания"
dbsCurrent.Close
End Sub